The present invention relates to a data converter and method thereof, and more specifically, to a data converter and method thereof for performing data conversion processing by interpolation operation using a conversion table, and a recording medium in which data related to the conversion processing is recorded.
When an image synthesized by a personal computer is outputted to a printer, image color signals red (R), green (G), and blue (B) must be converted to color signals used by a printer, yellow (Y), magenta (M), cyan (C), and if necessary, black (K). The color space of the input signals and color space of the output signals in this conversion processing have a non-linear relation. When the input and output of the conversion processing have the non-linear relation, it is difficult to generate a model precisely expressing the conversion. Even if a conversion model is generated with a certain degree of precision, the calculation volume for conversion becomes excessively large. In order to solve the above problems in conversion processing, there is a method available for readily performing data conversion by generating a table where input data corresponds to output data.
However, even if a conversion method using a table is employed, each of the color components for R, G and B signals in the inputted color space has 256 levels. If a correspondence table of output color space for all 256 levels is to be generated, the volume of table data becomes excessively large. Thus, it is not a realistic method, considering the cost for a memory storing the table data.
In view of this problem, there is a method known for reducing the volume of table data by sampling the input color space at appropriate intervals and generating a table for the sampled points only. According to this method, an output corresponding to a position other than the sampled points in the inputted color space is obtained by linear interpolation operation using the sampled point data.
For instance, in three-dimensional conversion where the input-output relation is non-linear, such as the case where R, G and B signals are converted to Y, M, C and K signals, a three-dimensional lookup table (LUT) is used. In the three-dimensional lookup table, conversion data (also called grid data) for each grid point of the three-dimensional solid grid, corresponding to inputted R, G and B signals, is stored. Furthermore, to obtain output data (conversion data) for an input positioned other than the grid points, linear interpolation operation is performed by using a predetermined solid body having grid points as vertices and including the position of the inputted point.
Depending on the number of grid points used in the periphery of a position corresponding to the input data, there are various methods of three-dimensional data interpolation using linear interpolation. The methods include: cubic interpolation using eight grid points (Display and Imaging, SCI, Volume 2, Number 1, 1993, p17-25), prism interpolation using six grid points, tetrahedron interpolation using four grid points (Japanese Kokoku No. 58-16180) and so on.
Each time interpolation operation is performed, complicated calculation is performed regardless of grid data. Particularly in interpolation operation performed by software, the number of times of referring to grid data or the like and the number of times of addition, subtraction, multiplication, and division (four fundamental operation) are excessively large.
Furthermore, in addition to the increased resolution of print density in a color printer, the number of colors used in image formation is also increasing. Not only the four colors of Y, M, C and K, but also six colors inclusive of Y, M, C, K, pale magenta m and pale cyan c which are paler than M and C, or seven colors inclusive of pale yellow y, pale magenta m, and pale cyan c are available. Naturally, the print data amount increases, and the number of times of referring to grid data and the number of times of the four fundamental operation for interpolation also increase.
The present invention is made to solve the above problems, and has as its object to provide a data converter and method thereof for reducing the data processing volume related to interpolation operation.
To attain the above object, the present invention provides a data converter comprising: storing means for storing a conversion table which indicates relationship between an input and an output of the converter; and converting means for converting input data to output data by performing interpolation which uses the conversion table, wherein when data obtained from the conversion table and requested by the interpolation are the same, the converting means outputs one of the data as a result of interpolation.
Furthermore, the present invention provides a data conversion method for converting input data to output data by performing interpolation which uses a conversion table indicating relationship between an input and an output of conversion processing, the method comprising the step of outputting data having zero as a result of the interpolation when data obtained from the conversion table and requested by the interpolation are zeros.
Other features and advantages of the present invention will be apparent from the following description taken in conjunction with the accompanying drawings, in which like reference characters designate the same or similar parts throughout the figures thereof.